package com.itheima.stock.api;

import com.itheima.stock.domain.StockUpdownDomain;
import com.itheima.stock.entity.StockBlockRtInfo;
import com.itheima.stock.entity.StockBusiness;
import com.itheima.stock.response.ResponseResult;
import com.itheima.stock.vo.InnerMarketVO;
import com.itheima.stock.vo.PageResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;
import java.util.Map;

/**
 * @author zby
 * @created 2024-06-23 16:29
 * @description
 */
@RequestMapping(path = "/api/quot")
public interface StockControllerAPI {

    /**
     * 功能描述：沪深两市涨跌停分时行情数据查询，查询T日每分钟的涨跌停数据（T：当前股票交易日）
     * 		查询每分钟的涨停和跌停的数据的同级；
     * 		如果不在股票的交易日内，那么就统计最近的股票交易下的数据
     * 	 map:
     * 	    upList:涨停数据统计
     * 	    downList:跌停数据统计
     * @return
     */
    @GetMapping("/stock/updown/count")
    public ResponseResult<Map> upDownCount();


    /**
     * 沪深两市个股行情列表查询 ,以时间顺序和涨幅分页查询
     * @param page 当前页
     * @param pageSize 每页大小
     * @return
     */
    @GetMapping("/stock/all")
    ResponseResult<PageResult<StockUpdownDomain>> stockPage(@RequestParam(name = "page", defaultValue = "1") Integer page,
                                                            @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize);

    /**
     * 沪深两市个股涨幅分时行情数据查询，以时间顺序和涨幅查询前10条数据
     * @return
     */
    @GetMapping("/stock/increase")
    ResponseResult<List<StockUpdownDomain>> stockIncreaseLimit();


    /**
     *需求说明: 沪深两市板块分时行情数据查询，以交易时间和交易总金额降序查询，取前10条数据
     *
     */
    @GetMapping("/sector/all")
    ResponseResult<List<StockBlockRtInfo>> sectorAll();

    //其它省略.....
    /**
     * 获取国内最新大盘指数
     *
     */
    @GetMapping("/index/all")
    ResponseResult<List<InnerMarketVO>> innerIndexAll();


    @GetMapping(path = "/stock/business/all")
    ResponseResult<List<StockBusiness>> getStockBusiness();


}
